home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / QD3DDrawContext.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  17.0 KB  |  564 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DDrawContext.a
  3. ;
  4. ;    Contains:    Draw context class types and routines                               
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__QD3DDRAWCONTEXT__') = 'UNDEFINED' THEN
  18. __QD3DDRAWCONTEXT__ SET 1
  19.  
  20.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  21.     include 'QD3D.a'
  22.     ENDIF
  23.  
  24.     IF TARGET_OS_MAC THEN
  25.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  26.     include 'Quickdraw.a'
  27.     ENDIF
  28.     IF &TYPE('__FIXMATH__') = 'UNDEFINED' THEN
  29.     include 'FixMath.a'
  30.     ENDIF
  31.     IF &TYPE('__GXTYPES__') = 'UNDEFINED' THEN
  32.     include 'GXTypes.a'
  33.     ENDIF
  34.     ENDIF    ; TARGET_OS_MAC
  35. ; ******************************************************************************
  36. ; **                                                                             **
  37. ; **                            DrawContext Data Structures                         **
  38. ; **                                                                             **
  39. ; ****************************************************************************
  40.  
  41.  
  42. ; typedef long                            TQ3DrawContextClearImageMethod
  43. kQ3ClearMethodNone                EQU        0
  44. kQ3ClearMethodWithColor            EQU        1
  45.  
  46. TQ3DrawContextData        RECORD 0
  47. clearImageMethod         ds.l    1                ; offset: $0 (0)
  48. clearImageColor             ds        TQ3ColorARGB    ; offset: $4 (4)
  49. pane                     ds        TQ3Area            ; offset: $14 (20)
  50. paneState                 ds.l    1                ; offset: $24 (36)
  51. mask                     ds        TQ3Bitmap        ; offset: $28 (40)
  52. maskState                 ds.l    1                ; offset: $3C (60)
  53. doubleBufferState         ds.l    1                ; offset: $40 (64)
  54. sizeof                     EQU *                    ; size:   $44 (68)
  55.                         ENDR
  56. ; ******************************************************************************
  57. ; **                                                                             **
  58. ; **                                DrawContext Routines                         **
  59. ; **                                                                             **
  60. ; ****************************************************************************
  61.  
  62. ;
  63. ; extern TQ3ObjectType Q3DrawContext_GetType(TQ3DrawContextObject drawContext)
  64. ;
  65.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  66.         IMPORT_CFM_FUNCTION Q3DrawContext_GetType
  67.     ENDIF
  68.  
  69. ;
  70. ; extern TQ3Status Q3DrawContext_SetData(TQ3DrawContextObject context, const TQ3DrawContextData *contextData)
  71. ;
  72.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  73.         IMPORT_CFM_FUNCTION Q3DrawContext_SetData
  74.     ENDIF
  75.  
  76. ;
  77. ; extern TQ3Status Q3DrawContext_GetData(TQ3DrawContextObject context, TQ3DrawContextData *contextData)
  78. ;
  79.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  80.         IMPORT_CFM_FUNCTION Q3DrawContext_GetData
  81.     ENDIF
  82.  
  83. ;
  84. ; extern TQ3Status Q3DrawContext_SetClearImageColor(TQ3DrawContextObject context, const TQ3ColorARGB *color)
  85. ;
  86.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  87.         IMPORT_CFM_FUNCTION Q3DrawContext_SetClearImageColor
  88.     ENDIF
  89.  
  90. ;
  91. ; extern TQ3Status Q3DrawContext_GetClearImageColor(TQ3DrawContextObject context, TQ3ColorARGB *color)
  92. ;
  93.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  94.         IMPORT_CFM_FUNCTION Q3DrawContext_GetClearImageColor
  95.     ENDIF
  96.  
  97. ;
  98. ; extern TQ3Status Q3DrawContext_SetPane(TQ3DrawContextObject context, const TQ3Area *pane)
  99. ;
  100.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  101.         IMPORT_CFM_FUNCTION Q3DrawContext_SetPane
  102.     ENDIF
  103.  
  104. ;
  105. ; extern TQ3Status Q3DrawContext_GetPane(TQ3DrawContextObject context, TQ3Area *pane)
  106. ;
  107.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  108.         IMPORT_CFM_FUNCTION Q3DrawContext_GetPane
  109.     ENDIF
  110.  
  111. ;
  112. ; extern TQ3Status Q3DrawContext_SetPaneState(TQ3DrawContextObject context, TQ3Boolean state)
  113. ;
  114.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  115.         IMPORT_CFM_FUNCTION Q3DrawContext_SetPaneState
  116.     ENDIF
  117.  
  118. ;
  119. ; extern TQ3Status Q3DrawContext_GetPaneState(TQ3DrawContextObject context, TQ3Boolean *state)
  120. ;
  121.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  122.         IMPORT_CFM_FUNCTION Q3DrawContext_GetPaneState
  123.     ENDIF
  124.  
  125. ;
  126. ; extern TQ3Status Q3DrawContext_SetClearImageMethod(TQ3DrawContextObject context, TQ3DrawContextClearImageMethod method)
  127. ;
  128.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  129.         IMPORT_CFM_FUNCTION Q3DrawContext_SetClearImageMethod
  130.     ENDIF
  131.  
  132. ;
  133. ; extern TQ3Status Q3DrawContext_GetClearImageMethod(TQ3DrawContextObject context, TQ3DrawContextClearImageMethod *method)
  134. ;
  135.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  136.         IMPORT_CFM_FUNCTION Q3DrawContext_GetClearImageMethod
  137.     ENDIF
  138.  
  139. ;
  140. ; extern TQ3Status Q3DrawContext_SetMask(TQ3DrawContextObject context, const TQ3Bitmap *mask)
  141. ;
  142.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  143.         IMPORT_CFM_FUNCTION Q3DrawContext_SetMask
  144.     ENDIF
  145.  
  146. ;
  147. ; extern TQ3Status Q3DrawContext_GetMask(TQ3DrawContextObject context, TQ3Bitmap *mask)
  148. ;
  149.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  150.         IMPORT_CFM_FUNCTION Q3DrawContext_GetMask
  151.     ENDIF
  152.  
  153. ;
  154. ; extern TQ3Status Q3DrawContext_SetMaskState(TQ3DrawContextObject context, TQ3Boolean state)
  155. ;
  156.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  157.         IMPORT_CFM_FUNCTION Q3DrawContext_SetMaskState
  158.     ENDIF
  159.  
  160. ;
  161. ; extern TQ3Status Q3DrawContext_GetMaskState(TQ3DrawContextObject context, TQ3Boolean *state)
  162. ;
  163.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  164.         IMPORT_CFM_FUNCTION Q3DrawContext_GetMaskState
  165.     ENDIF
  166.  
  167. ;
  168. ; extern TQ3Status Q3DrawContext_SetDoubleBufferState(TQ3DrawContextObject context, TQ3Boolean state)
  169. ;
  170.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  171.         IMPORT_CFM_FUNCTION Q3DrawContext_SetDoubleBufferState
  172.     ENDIF
  173.  
  174. ;
  175. ; extern TQ3Status Q3DrawContext_GetDoubleBufferState(TQ3DrawContextObject context, TQ3Boolean *state)
  176. ;
  177.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  178.         IMPORT_CFM_FUNCTION Q3DrawContext_GetDoubleBufferState
  179.     ENDIF
  180.  
  181.  
  182. ; ******************************************************************************
  183. ; **                                                                             **
  184. ; **                            Pixmap Data Structure                             **
  185. ; **                                                                             **
  186. ; ****************************************************************************
  187.  
  188. TQ3PixmapDrawContextData RECORD 0
  189. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  190. pixmap                     ds        TQ3Pixmap        ; offset: $44 (68)
  191. sizeof                     EQU *                    ; size:   $64 (100)
  192.                         ENDR
  193. ; ******************************************************************************
  194. ; **                                                                             **
  195. ; **                        Pixmap DrawContext Routines                             **
  196. ; **                                                                             **
  197. ; ****************************************************************************
  198.  
  199. ;
  200. ; extern TQ3DrawContextObject Q3PixmapDrawContext_New(const TQ3PixmapDrawContextData *contextData)
  201. ;
  202.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  203.         IMPORT_CFM_FUNCTION Q3PixmapDrawContext_New
  204.     ENDIF
  205.  
  206. ;
  207. ; extern TQ3Status Q3PixmapDrawContext_SetPixmap(TQ3DrawContextObject drawContext, const TQ3Pixmap *pixmap)
  208. ;
  209.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  210.         IMPORT_CFM_FUNCTION Q3PixmapDrawContext_SetPixmap
  211.     ENDIF
  212.  
  213. ;
  214. ; extern TQ3Status Q3PixmapDrawContext_GetPixmap(TQ3DrawContextObject drawContext, TQ3Pixmap *pixmap)
  215. ;
  216.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  217.         IMPORT_CFM_FUNCTION Q3PixmapDrawContext_GetPixmap
  218.     ENDIF
  219.  
  220.  
  221.  
  222.     IF TARGET_OS_MAC THEN
  223. ; ******************************************************************************
  224. ; **                                                                             **
  225. ; **                        Macintosh DrawContext Data Structures                 **
  226. ; **                                                                             **
  227. ; ****************************************************************************
  228.  
  229.  
  230. ; typedef long                            TQ3MacDrawContext2DLibrary
  231. kQ3Mac2DLibraryNone                EQU        0
  232. kQ3Mac2DLibraryQuickDraw        EQU        1
  233. kQ3Mac2DLibraryQuickDrawGX        EQU        2
  234.  
  235. TQ3MacDrawContextData    RECORD 0
  236. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  237. window                     ds.l    1                ; offset: $44 (68)
  238. library                     ds.l    1                ; offset: $48 (72)
  239. viewPort                 ds.l    1                ; offset: $4C (76)
  240. grafPort                 ds.l    1                ; offset: $50 (80)
  241. sizeof                     EQU *                    ; size:   $54 (84)
  242.                         ENDR
  243. ; ******************************************************************************
  244. ; **                                                                             **
  245. ; **                        Macintosh DrawContext Routines                         **
  246. ; **                                                                             **
  247. ; ****************************************************************************
  248.  
  249. ;
  250. ; extern TQ3DrawContextObject Q3MacDrawContext_New(const TQ3MacDrawContextData *drawContextData)
  251. ;
  252.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  253.         IMPORT_CFM_FUNCTION Q3MacDrawContext_New
  254.     ENDIF
  255.  
  256. ;
  257. ; extern TQ3Status Q3MacDrawContext_SetWindow(TQ3DrawContextObject drawContext, CWindowPtr window)
  258. ;
  259.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  260.         IMPORT_CFM_FUNCTION Q3MacDrawContext_SetWindow
  261.     ENDIF
  262.  
  263. ;
  264. ; extern TQ3Status Q3MacDrawContext_GetWindow(TQ3DrawContextObject drawContext, CWindowPtr *window)
  265. ;
  266.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  267.         IMPORT_CFM_FUNCTION Q3MacDrawContext_GetWindow
  268.     ENDIF
  269.  
  270. ;
  271. ; extern TQ3Status Q3MacDrawContext_SetGXViewPort(TQ3DrawContextObject drawContext, gxViewPort viewPort)
  272. ;
  273.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  274.         IMPORT_CFM_FUNCTION Q3MacDrawContext_SetGXViewPort
  275.     ENDIF
  276.  
  277. ;
  278. ; extern TQ3Status Q3MacDrawContext_GetGXViewPort(TQ3DrawContextObject drawContext, gxViewPort *viewPort)
  279. ;
  280.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  281.         IMPORT_CFM_FUNCTION Q3MacDrawContext_GetGXViewPort
  282.     ENDIF
  283.  
  284. ;
  285. ; extern TQ3Status Q3MacDrawContext_SetGrafPort(TQ3DrawContextObject drawContext, CGrafPtr grafPort)
  286. ;
  287.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  288.         IMPORT_CFM_FUNCTION Q3MacDrawContext_SetGrafPort
  289.     ENDIF
  290.  
  291. ;
  292. ; extern TQ3Status Q3MacDrawContext_GetGrafPort(TQ3DrawContextObject drawContext, CGrafPtr *grafPort)
  293. ;
  294.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  295.         IMPORT_CFM_FUNCTION Q3MacDrawContext_GetGrafPort
  296.     ENDIF
  297.  
  298. ;
  299. ; extern TQ3Status Q3MacDrawContext_Set2DLibrary(TQ3DrawContextObject drawContext, TQ3MacDrawContext2DLibrary library)
  300. ;
  301.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  302.         IMPORT_CFM_FUNCTION Q3MacDrawContext_Set2DLibrary
  303.     ENDIF
  304.  
  305. ;
  306. ; extern TQ3Status Q3MacDrawContext_Get2DLibrary(TQ3DrawContextObject drawContext, TQ3MacDrawContext2DLibrary *library)
  307. ;
  308.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  309.         IMPORT_CFM_FUNCTION Q3MacDrawContext_Get2DLibrary
  310.     ENDIF
  311.  
  312.     ENDIF    ; TARGET_OS_MAC
  313.     IF TARGET_OS_UNIX THEN
  314. ; ******************************************************************************
  315. ; **                                                                             **
  316. ; **                        X/Windows DrawContext Data Structures                 **
  317. ; **                                                                             **
  318. ; ****************************************************************************
  319.  
  320.  
  321.  
  322. TQ3XColormapData        RECORD 0
  323. baseEntry                 ds.l    1                ; offset: $0 (0)
  324. maxRed                     ds.l    1                ; offset: $4 (4)
  325. maxGreen                 ds.l    1                ; offset: $8 (8)
  326. maxBlue                     ds.l    1                ; offset: $C (12)
  327. multRed                     ds.l    1                ; offset: $10 (16)
  328. multGreen                 ds.l    1                ; offset: $14 (20)
  329. multBlue                 ds.l    1                ; offset: $18 (24)
  330. sizeof                     EQU *                    ; size:   $1C (28)
  331.                         ENDR
  332. TQ3XDrawContextData        RECORD 0
  333. contextData                 ds        TQ3DrawContextData ; offset: $0 (0)
  334. display                     ds.l    1                ; offset: $44 (68)
  335. drawable                 ds.l    1                ; offset: $48 (72)
  336. visual                     ds.l    1                ; offset: $4C (76)
  337. cmap                     ds.l    1                ; offset: $50 (80)
  338. colorMapData             ds.l    1                ; offset: $54 (84)
  339. sizeof                     EQU *                    ; size:   $58 (88)
  340.                         ENDR
  341. ; ******************************************************************************
  342. ; **                                                                             **
  343. ; **                        X/Windows DrawContext Routines                         **
  344. ; **                                                                             **
  345. ; ****************************************************************************
  346.  
  347.     IF &TYPE('XDC_OLD') <> 'UNDEFINED' THEN
  348. ;
  349. ; extern TQ3DrawContextObject Q3XDrawContext_New(void )
  350. ;
  351.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  352.         IMPORT_CFM_FUNCTION Q3XDrawContext_New
  353.     ENDIF
  354.  
  355. ;
  356. ; extern void Q3XDrawContext_Set(TQ3DrawContextObject drawContext, unsigned long flag, void *data)
  357. ;
  358.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  359.         IMPORT_CFM_FUNCTION Q3XDrawContext_Set
  360.     ENDIF
  361.  
  362. ;
  363. ; extern void Q3XDrawContext_Get(TQ3DrawContextObject drawContext, unsigned long flag, void *data)
  364. ;
  365.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  366.         IMPORT_CFM_FUNCTION Q3XDrawContext_Get
  367.     ENDIF
  368.  
  369.     ENDIF
  370. ;
  371. ; extern TQ3XBufferObject Q3XBuffers_New(Display *dpy, unsigned long numBuffers, Window window)
  372. ;
  373.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  374.         IMPORT_CFM_FUNCTION Q3XBuffers_New
  375.     ENDIF
  376.  
  377. ;
  378. ; extern void Q3XBuffers_Swap(Display *dpy, TQ3XBufferObject buffers)
  379. ;
  380.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  381.         IMPORT_CFM_FUNCTION Q3XBuffers_Swap
  382.     ENDIF
  383.  
  384. ;
  385. ; extern XVisualInfo *Q3X_GetVisualInfo(Display *dpy, Screen *screen)
  386. ;
  387.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  388.         IMPORT_CFM_FUNCTION Q3X_GetVisualInfo
  389.     ENDIF
  390.  
  391.  
  392. ;
  393. ; extern TQ3DrawContextObject Q3XDrawContext_New(const TQ3XDrawContextData *xContextData)
  394. ;
  395.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  396.         IMPORT_CFM_FUNCTION Q3XDrawContext_New
  397.     ENDIF
  398.  
  399. ;
  400. ; extern TQ3Status Q3XDrawContext_SetDisplay(TQ3DrawContextObject drawContext, const Display *display)
  401. ;
  402.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  403.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetDisplay
  404.     ENDIF
  405.  
  406. ;
  407. ; extern TQ3Status Q3XDrawContext_GetDisplay(TQ3DrawContextObject drawContext, Display **display)
  408. ;
  409.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  410.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetDisplay
  411.     ENDIF
  412.  
  413. ;
  414. ; extern TQ3Status Q3XDrawContext_SetDrawable(TQ3DrawContextObject drawContext, Drawable drawable)
  415. ;
  416.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  417.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetDrawable
  418.     ENDIF
  419.  
  420. ;
  421. ; extern TQ3Status Q3XDrawContext_GetDrawable(TQ3DrawContextObject drawContext, Drawable *drawable)
  422. ;
  423.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  424.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetDrawable
  425.     ENDIF
  426.  
  427. ;
  428. ; extern TQ3Status Q3XDrawContext_SetVisual(TQ3DrawContextObject drawContext, const Visual *visual)
  429. ;
  430.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  431.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetVisual
  432.     ENDIF
  433.  
  434. ;
  435. ; extern TQ3Status Q3XDrawContext_GetVisual(TQ3DrawContextObject drawContext, Visual **visual)
  436. ;
  437.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  438.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetVisual
  439.     ENDIF
  440.  
  441. ;
  442. ; extern TQ3Status Q3XDrawContext_SetColormap(TQ3DrawContextObject drawContext, Colormap colormap)
  443. ;
  444.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  445.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetColormap
  446.     ENDIF
  447.  
  448. ;
  449. ; extern TQ3Status Q3XDrawContext_GetColormap(TQ3DrawContextObject drawContext, Colormap *colormap)
  450. ;
  451.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  452.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetColormap
  453.     ENDIF
  454.  
  455. ;
  456. ; extern TQ3Status Q3XDrawContext_SetColormapData(TQ3DrawContextObject drawContext, const TQ3XColormapData *colormapData)
  457. ;
  458.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  459.         IMPORT_CFM_FUNCTION Q3XDrawContext_SetColormapData
  460.     ENDIF
  461.  
  462. ;
  463. ; extern TQ3Status Q3XDrawContext_GetColormapData(TQ3DrawContextObject drawContext, TQ3XColormapData *colormapData)
  464. ;
  465.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  466.         IMPORT_CFM_FUNCTION Q3XDrawContext_GetColormapData
  467.     ENDIF
  468.  
  469.     ENDIF    ; TARGET_OS_UNIX
  470.     IF TARGET_OS_WIN32 THEN
  471. ; ******************************************************************************
  472. ; **                                                                             **
  473. ; **                         Win32 DrawContext Data Structures                      **
  474. ; **                                                                             **
  475. ; ****************************************************************************
  476.  
  477. TQ3Win32DCDrawContextData RECORD 0
  478. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  479. hdc                         ds.l    1                ; offset: $44 (68)
  480. sizeof                     EQU *                    ; size:   $48 (72)
  481.                         ENDR
  482.     IF &TYPE('QD3D_NO_DIRECTDRAW') = 'UNDEFINED' THEN
  483.  
  484. ; typedef long                            TQ3DirectDrawObjectSelector
  485. kQ3DirectDrawObject                EQU        1
  486. kQ3DirectDrawObject2            EQU        2
  487.  
  488. ; typedef long                            TQ3DirectDrawSurfaceSelector
  489. kQ3DirectDrawSurface            EQU        1
  490. kQ3DirectDrawSurface2            EQU        2
  491. TQ3DDSurfaceDescriptor    RECORD 0
  492. objectSelector             ds.l    1                ; offset: $0 (0)
  493. filler                     ds.l    4                ; offset: $4 (4)
  494. sizeof                     EQU *                    ; size:   $14 (20)
  495.                         ENDR
  496. TQ3DDSurfaceDrawContextData RECORD 0
  497. drawContextData             ds        TQ3DrawContextData ; offset: $0 (0)
  498. ddSurfaceDescriptor         ds        TQ3DDSurfaceDescriptor ; offset: $44 (68)
  499. sizeof                     EQU *                    ; size:   $58 (88)
  500.                         ENDR
  501.     ENDIF
  502. ; ******************************************************************************
  503. ; **                                                                             **
  504. ; **                            Win32DC DrawContext Routines                     **
  505. ; **                                                                             **
  506. ; ****************************************************************************
  507.  
  508. ;
  509. ; extern TQ3DrawContextObject Q3Win32DCDrawContext_New(const TQ3Win32DCDrawContextData *drawContextData)
  510. ;
  511.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  512.         IMPORT_CFM_FUNCTION Q3Win32DCDrawContext_New
  513.     ENDIF
  514.  
  515. ;
  516. ; extern TQ3Status Q3Win32DCDrawContext_SetDC(TQ3DrawContextObject drawContext, HDC newHDC)
  517. ;
  518.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  519.         IMPORT_CFM_FUNCTION Q3Win32DCDrawContext_SetDC
  520.     ENDIF
  521.  
  522. ;
  523. ; extern TQ3Status Q3Win32DCDrawContext_GetDC(TQ3DrawContextObject drawContext, HDC *curHDC)
  524. ;
  525.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  526.         IMPORT_CFM_FUNCTION Q3Win32DCDrawContext_GetDC
  527.     ENDIF
  528.  
  529. ; ******************************************************************************
  530. ; **                                                                             **
  531. ; **                            DDSurface DrawContext Routines                     **
  532. ; **                                                                             **
  533. ; ****************************************************************************
  534.  
  535.     IF &TYPE('QD3D_NO_DIRECTDRAW') = 'UNDEFINED' THEN
  536. ;
  537. ; extern TQ3DrawContextObject Q3DDSurfaceDrawContext_New(const TQ3DDSurfaceDrawContextData *drawContextData)
  538. ;
  539.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  540.         IMPORT_CFM_FUNCTION Q3DDSurfaceDrawContext_New
  541.     ENDIF
  542.  
  543. ;
  544. ; extern TQ3Status Q3DDSurfaceDrawContext_SetDirectDrawSurface(TQ3DrawContextObject drawContext, const TQ3DDSurfaceDescriptor *ddSurfaceDescriptor)
  545. ;
  546.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  547.         IMPORT_CFM_FUNCTION Q3DDSurfaceDrawContext_SetDirectDrawSurface
  548.     ENDIF
  549.  
  550. ;
  551. ; extern TQ3Status Q3DDSurfaceDrawContext_GetDirectDrawSurface(TQ3DrawContextObject drawContext, TQ3DDSurfaceDescriptor *ddSurfaceDescriptor)
  552. ;
  553.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  554.         IMPORT_CFM_FUNCTION Q3DDSurfaceDrawContext_GetDirectDrawSurface
  555.     ENDIF
  556.  
  557.     ENDIF
  558.     ENDIF    ; TARGET_OS_WIN32
  559.  
  560.  
  561.  
  562.     ENDIF ; __QD3DDRAWCONTEXT__ 
  563.  
  564.